#ifndef _LANGUAGE_TBL_H_
#define _LANGUAGE_TBL_H_

#include "StructDef.h"

#ifdef __cplusplus 
extern "C" {
#endif

//LANG_TEXT
#define LANG_TEXT_TYPE_QTY			(2)
//voice
#define LANG_VOICE_TYPE_QTY			(3)


#define LANG_TEXT							(0)
#define LANG_VOICE							(LANG_TEXT+LANG_TEXT_TYPE_QTY)
//menu start
#define MENU_STR_START						(LANG_VOICE+LANG_VOICE_TYPE_QTY)
//menu_main
#define MENU_MAIN_TITLE						(MENU_STR_START)
#define MENU_MAIN_ITEM						(MENU_STR_START+1)
#define MENU_MAIN_ITEM_QTY					(4)
//menu_navi
#define MENU_NAVI_TITLE						(MENU_MAIN_ITEM)
#define MENU_NAVI_ITEM						(MENU_MAIN_ITEM+MENU_MAIN_ITEM_QTY)
#define MENU_NAVI_ITEM_QTY					(6)
//menu_navi_option
#define MENI_NAVI_OPTION_TITLE				(MENU_NAVI_ITEM+MENU_NAVI_ITEM_QTY)
#define MENU_NAVI_OPTION_OBJ				(MENI_NAVI_OPTION_TITLE+1)
#define	MENU_NAVI_OPTION_OBJ_QTY			(3)
#define MENU_NAVI_OPTION_ITEM				(MENU_NAVI_OPTION_OBJ+MENU_NAVI_OPTION_OBJ_QTY)
#define MENU_NAVI_OPTION_ITEM_VEHICLE_QTY	(4)
#define MENU_NAVI_OPTION_ITEM_PLANNING_QTY	(2)	
#define MENU_NAVI_OPTION_ITEM_TOLL_QTY		(1)
#define MENU_NAVI_OPTION_ITEM_QTY			(MENU_NAVI_OPTION_ITEM_VEHICLE_QTY+MENU_NAVI_OPTION_ITEM_PLANNING_QTY+MENU_NAVI_OPTION_ITEM_TOLL_QTY)
//menu_pref
#define MENU_PREF_TITLE						(MENU_MAIN_ITEM+2)
#define MENU_PREF_ITEM						(MENU_NAVI_OPTION_ITEM+MENU_NAVI_OPTION_ITEM_QTY)
#define MENU_PREF_ITEM_QTY					(12)
//menu_pref_language
#define MENU_PREF_LANGUAGE_TITLE			(MENU_PREF_ITEM+6)
#define MENU_PREF_LANGUAGE_ITEM				(MENU_PREF_ITEM+MENU_PREF_ITEM_QTY)
#define MENU_PREF_LANGUAGE_ITEM_QTY			(2)
//menu_pref_map
#define MENU_PREF_MAP_TITLE					(MENU_PREF_ITEM)
#define MENU_PREF_MAP_OBJ					(MENU_PREF_LANGUAGE_ITEM+MENU_PREF_LANGUAGE_ITEM_QTY)
#define MENU_PREF_MAP_OBJ_QTY				(3)
#define MENU_PREF_MAP_ITEM_3D				(MENU_PREF_MAP_OBJ+MENU_PREF_MAP_OBJ_QTY)
#define MENU_PREF_MAP_TIEM_3D_QTY			(2)
#define MENU_PREF_MAP_ITEM_DN				(MENU_PREF_MAP_ITEM_3D+MENU_PREF_MAP_TIEM_3D_QTY)
#define MENU_PREF_MAP_ITEM_DN_QTY			(3)
#define MENU_PREF_MAP_ITEM_STYLE			(MENU_PREF_MAP_ITEM_DN+MENU_PREF_MAP_ITEM_DN_QTY)
#define MENU_PREF_MAP_ITEM_STYLE_QTY		(5)
//menu_pref_poi
#define MENU_PREF_POI_TITLE					(MENU_PREF_ITEM+1)
#define MENU_PREF_POI_ITEM					(MENU_PREF_MAP_ITEM_STYLE+MENU_PREF_MAP_ITEM_STYLE_QTY)
#define MENU_PREF_POI_ITEM_QTY				(2)
//menu_pref_time
#define MENU_PREF_TIME_TITLE				(MENU_PREF_ITEM+3)
#define MENU_PREF_TIME_OBJ					(MENU_PREF_POI_ITEM+MENU_PREF_POI_ITEM_QTY)
#define MENU_PREF_TIME_OBJ_QTY				(4)
#define MENU_PREF_TIME_ITEM					(MENU_PREF_TIME_OBJ+MENU_PREF_TIME_OBJ_QTY)
#define MENU_PREF_TIME_ITEM1_QTY			(2)
#define MENU_PREF_TIME_ITEM2_QTY			(0)	
#define MENU_PREF_TIME_ITEM3_QTY			(3)
#define MENU_PREF_TIME_ITEM4_QTY			(1)
#define MENU_PREF_TIME_ITEM_QTY				(MENU_PREF_TIME_ITEM1_QTY+MENU_PREF_TIME_ITEM2_QTY+MENU_PREF_TIME_ITEM3_QTY+MENU_PREF_TIME_ITEM4_QTY)
//menu_pref_unit
#define MENU_PREF_UNIT_TITLE				(MENU_PREF_ITEM+4)
#define MENU_PREF_UNIT_ITEM					(MENU_PREF_TIME_ITEM+MENU_PREF_TIME_ITEM_QTY)
#define MENU_PREF_UNIT_ITEM_QTY				(2)
//menu_pref_voice
#define MENU_PREF_VOICE_TITLE				(MENU_PREF_ITEM+5)
#define MENU_PREF_VOICE_OBJ					(MENU_PREF_UNIT_ITEM+MENU_PREF_UNIT_ITEM_QTY)
#define MENU_PREF_VOICE_OBJ_QTY				(2)
#define MENU_PREF_VOICE_ITEM				(MENU_PREF_VOICE_OBJ+MENU_PREF_VOICE_OBJ_QTY)
#define MENU_PREF_VOICE_ITEM1_QTY			(4)
#define MENU_PREF_VOICE_ITEM2_QTY			(1)
#define MENU_PREF_VOICE_ITEM_QTY			(MENU_PREF_VOICE_ITEM1_QTY+MENU_PREF_VOICE_ITEM2_QTY)
//menu_pref_volume
#define MENU_PREF_VOLUME_TITLE				(MENU_PREF_ITEM+2)
#define MENU_PREF_VOLUME_ITEM				(MENU_PREF_VOICE_ITEM+MENU_PREF_VOICE_ITEM_QTY)
#define MENU_PREF_VOLUME_ITEM_QTY			(3)
//menu_current_pos
#define MENU_CURRENT_POS_TITLE				(MENU_PREF_VOLUME_ITEM+MENU_PREF_VOLUME_ITEM_QTY)
#define MENU_CURRENT_POS_NEARPOI			(MENU_NAVI_ITEM+5)
#define MENU_CURRENT_POS_ADM_MAP			(MENU_CURRENT_POS_TITLE+1)
#define MENU_CURRENT_POS_ROAD_NUM			(MENU_CURRENT_POS_ADM_MAP+1)
//menu_d2d
#define MENU_D2D_TITLE						(MENU_NAVI_ITEM)
#define MENU_D2D_FIRST_WORD_MESSAGE			(MENU_CURRENT_POS_ROAD_NUM+1)
#define MENU_D2D_ROAD_MESSAGE				(MENU_D2D_FIRST_WORD_MESSAGE+1)
#define MENU_D2D_INPUT_NO					(MENU_D2D_ROAD_MESSAGE+1)
#define MENU_D2D_NO							(MENU_D2D_INPUT_NO+1)
//menu_cross_road
#define MENU_CROSS_ROAD_TITLE				(MENU_NAVI_ITEM+2)
#define MENU_CROSS_RD_MESSAGE				(MENU_D2D_NO+1)
//menu_district
#define	MENU_DISTRICT_CITY_TITLE			(MENU_CROSS_RD_MESSAGE+1)
#define MENU_DISTRICT_CITY_ITEM				(MENU_DISTRICT_CITY_TITLE+1)
#define	MENU_DISTRICT_CITY_ITEM_QTY			(2)
#define MENU_DISTRICT_MESSAGE				(MENU_DISTRICT_CITY_ITEM+MENU_DISTRICT_CITY_ITEM_QTY)
//menu_favorite
#define MENU_FAVORITE_TITLE					(MENU_NAVI_ITEM+3)
#define	MENU_FAVORITE_ITEM					(MENU_DISTRICT_MESSAGE+1)
//menu_poi
#define MENU_POI_TITLE						(MENU_NAVI_ITEM+4)
//menu_poi_nearby
#define MENU_POI_NEARBY_TITLE				(MENU_NAVI_ITEM+5)
//menu_preview
#define MENU_PREVIEW_ITEM					(MENU_FAVORITE_ITEM+1)
#define MENU_PREVIEW_ITEM_QTY				(5)
//menu_recent_dest
#define MENU_RECENT_DEST_TITLE				(MENU_NAVI_ITEM+1)
//menu_route
#define MENU_ROUTE_TITLE					(MENU_MAIN_ITEM+3)
#define MENU_ROUTE_ITEM						(MENU_PREVIEW_ITEM+MENU_PREVIEW_ITEM_QTY)
#define MENU_ROUTE_ITEM_QTY					(3)
#define MENU_ROUTE_SIM_ON					(MENU_ROUTE_ITEM+MENU_ROUTE_ITEM_QTY)
#define	MENU_ROUTE_SIM_OFF					(MENU_ROUTE_SIM_ON+1)
//menu_route_list
#define MENU_ROUTE_LIST_TITLE				(MENU_ROUTE_ITEM)
//menu_view
#define	MENU_VIEW_MAP_ITEM					(MENU_ROUTE_SIM_OFF+1)
#define MENU_VIEW_MAP_ITEM_QTY				(6)
#define	MENU_VIEW_NAVI_ITEM					(MENU_VIEW_MAP_ITEM+MENU_VIEW_MAP_ITEM_QTY)
#define MENU_VIEW_NAVI_ITEM_QTY				(6)
//menu_message
#define MENU_MSG_ITEM						(MENU_VIEW_NAVI_ITEM+MENU_VIEW_NAVI_ITEM_QTY)
#define MENU_MSG_ITEM_QTY					(7)
//MSG
#define MESSAGE_STR_START					(MENU_MSG_ITEM+MENU_MSG_ITEM_QTY)
#define MSG_SAVE_SUCCESS					(MESSAGE_STR_START)
#define MSG_SAVE_FAIL						(MESSAGE_STR_START+1)
#define MSG_ROUTING							(MESSAGE_STR_START+2)
#define MSG_SAME_MY_POI						(MESSAGE_STR_START+3)
#define MSG_FAVORITE						(MESSAGE_STR_START+4)
#define MSG_NEARBY							(MESSAGE_STR_START+5)
#define MSG_NO_ROUTE						(MESSAGE_STR_START+6)
#define MSG_RESTORING						(MESSAGE_STR_START+7)
#define MSG_LAST_DEST						(MESSAGE_STR_START+8)
#define MSG_REROUTING_LAST_DEST				(MESSAGE_STR_START+9)
#define MSG_RESTORE_WARNING					(MESSAGE_STR_START+10)
#define MSG_SAVE_CONFIRM					(MESSAGE_STR_START+11)
#define MSG_OPEN_MUTE_CONFIRM				(MESSAGE_STR_START+12)
#define MSG_CLOSE_MUTE_CONFIRM				(MESSAGE_STR_START+13)
#define MSG_DEST							(MESSAGE_STR_START+14)
#define MSG_NO_ROUTE_PALNNED				(MESSAGE_STR_START+15)
#define MSG_CANT_REACH_DEST					(MESSAGE_STR_START+16)

#define MSG_RESTORE							(MENU_PREF_ITEM+8)
//MENUTOOL
#define MENU_TOOL_STR_START					(MESSAGE_STR_START+17)
#define MENU_TOOL_RETURN					(MENU_TOOL_STR_START)
#define MENU_TOOL_OPTION					(MENU_TOOL_STR_START+1)
#define MENU_TOOL_OK						(MENU_TOOL_STR_START+2)
#define MENU_TOOL_NEXT						(MENU_TOOL_STR_START+3)
#define MENU_TOOL_PREV						(MENU_TOOL_STR_START+4)
#define MENU_TOOL_HELP						(MENU_TOOL_STR_START+5)
#define MENU_TOOL_BACK						(MENU_TOOL_STR_START+6)
#define MENU_TOOL_SWITCH					(MENU_TOOL_STR_START+7)
#define MENU_TOOL_RES_NONE					(MENU_TOOL_STR_START+8)
//TYPE_KEYBOARD_NAME
#define KB_NAME_START						(MENU_TOOL_STR_START+9)
#define KB_NAME_NUM							(KB_NAME_START)
#define KB_NAME_ENG							(KB_NAME_START+1)
#define KB_NAME_SYB							(KB_NAME_START+2)
#define KB_NAME_JUYIN						(KB_NAME_START+3)
#define KB_NAME_PINYIN						(KB_NAME_START+4)
#define KB_NAME_BIHUA						(KB_NAME_START+5)
#define KB_NAME_WORD						(KB_NAME_START+6)
//Count QTY
#define LANG_TEXT_QTY						(KB_NAME_START+7)

	
char *lt_TranslateStr(int idx);

BOOL lt_SetLanguageText(int langID, BOOL bWrite );

BOOL lt_SetLanguageVoice(int langID, BOOL bWrite );

int  lt_GetLanguageTextID(void);

int  lt_GetLanguageVoiceID(void);

int  lt_GetLanguagesTextQty(void);

int  lt_GetLanguagesVoiceQty(void);

char *lt_GetLanguageTextTitle( int idx );

char *lt_GetLanguageVoiceTitle( int idx );

char *lt_GetLanguageVoiceFolder();

//////
char *lt_GetLanguageDesc(int langID);

#define Tr(x)	lt_TranslateStr(x)

#ifdef __cplusplus
}
#endif

#endif
